package coder.config;

import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

@Configuration
public class MyBatisPlusConfig {
    /**
     * 创建并配置MybatisPlus拦截器
     *
     * MybatisPlusInterceptor是Mybatis-Plus框架中的一个核心组件，用于管理Mybatis的拦截器
     * 通过这个拦截器，可以实现对Mybatis操作的增强，如分页查询、性能分析等
     *
     * @return MybatisPlusInterceptor 配置好的MybatisPlus拦截器实例
     */
    @Bean
    public MybatisPlusInterceptor mybatisPlusInterceptor(){
        // 实例化MybatisPlusInterceptor
        MybatisPlusInterceptor mybatisPlusInterceptor = new MybatisPlusInterceptor();

        // 添加分页拦截器PaginationInnerInterceptor
        // PaginationInnerInterceptor是Mybatis-Plus提供的一个内置拦截器，用于自动处理分页逻辑
        // 通过添加这个拦截器，可以使得所有的查询操作都支持分页功能，而无需手动编写分页SQL
        mybatisPlusInterceptor.addInnerInterceptor(new PaginationInnerInterceptor());

        // 返回配置好的MybatisPlus拦截器实例
        return mybatisPlusInterceptor;
    }
}
